<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="author" content="lijinbo" />
    <title>085-监听页面显示和隐藏事件</title>
    <script type="module" crossorigin src="../../../../static/js/085-index.html-78a1f7e2.js"></script>
    <link rel="modulepreload" crossorigin href="../../../../static/common/modulepreload-polyfill-3cfb730f.js">
  </head>

  <body>
    <div class="box">
      <h2>
        visibilitychange 事件 当其选项卡的内容变得可见或被隐藏时，会在文档上触发 visibilitychange (能见度更改)事件。
        <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/Document/visibilitychange_event" target="_blank">
          visibilitychange
        </a>
      </h2>
      <p>离开当前页面查看效果</p>
    </div>
    <script>
      /**
       * 此事件类似于小程序的 onShow 和 onHide
       * uni-app H5端的 onShow 和 onHide 事件也是通过此方法实现
       */

      document.addEventListener('visibilitychange', function () {
        console.log(document.visibilityState)
        // 页面显示时document.visibilityState值为visible，隐藏显示时document.visibilityState值为hidden，
        // 或者
        document.title = document.hidden ? '离开这个页面了' : '又回到这个页面了'
        // 这个是判断document.hidden，页面的隐藏状态
      })
    </script>
    
  </body>
</html>
